package org.spring.blog.service;


import org.spring.blog.pojo.Comment;
import org.spring.blog.response.ResponseResult;

public interface ICommentService {

    /**
     * 添加评论
     *
     * @param _comment 评论对象
     * @return 自定义返回对象
     */
    ResponseResult insert(Comment _comment);

    /**
     * 获取文章评论列表
     *
     * @param _articleId 文章id
     * @param _page      页码
     * @param _size      页面大小
     * @return 自定义返回对象
     */
    ResponseResult list(String _articleId, int _page, int _size);

    /**
     * 删除评论
     *
     * @param _id 评论id
     * @return 自定义返回对象
     */
    ResponseResult delete(String _id);

    /**
     * 查询评论
     *
     * @param _id 评论id
     * @return 自定义返回对象
     */
    ResponseResult query(String _id);

    /**
     * 置顶评论
     *
     * @param _id 评论id
     * @return 自定义返回对象
     */
    ResponseResult topCommit(String _id);

    /**
     * 获取评论数量
     *
     * @return 自定义返回对象
     */
    ResponseResult getCommentCount();

    interface constant {
        String db_comment_normal_state = "1";
        int list_default_page_num = 1;
        int list_min_page_size = 5;
        String redis_comment_first_page_cache = "redis_comment_first_page_cache";
    }

    /**
     * 管理中心 获取评论列表
     *
     * @param _page 页码
     * @param _size 页面大小
     * @return 自定义返回对象
     */
    ResponseResult listForAdmin(int _page, int _size);
}
